#ifndef LINKERPROXYREMOTE_H
#define LINKERPROXYREMOTE_H

#include <ipcomm/UdpClient.h>
#include <ipcomm/TcpClient.h>
#include "LinkerProxyTypes.h"
//#include <util/Buffer.h>
#include <SharedLib.h>

namespace varayoc
{
namespace linkerproxy
{
namespace runnable
{

class LinkerProxyRemote
{
private:
   LinkerProxyRemote();

   varayoc::ipcomm::UdpClient_ptr m_udpClient;

   Bool        m_running;                          ///< flag para continuar con el evento ciclico
   Buffer m_buffer;

public:
   ///   \brief   Crea un puntero inteligente de tipo LinkerProxyRemote.
   ///            Metodo estatico que crea una instancia a la clase LinkerProxyRemote.
   ///   \return  Retorna un puntero inteligente de tipo LinkerProxyRemote.
   static   LinkerProxyRemote_ptr   create(/*String ipAddressSource, UInt portSource, String ipAddressDest, UInt portDest*/);
   ///
   ///   \brief   Destructor
   ///            Libera el bloque de memoria reservado.
   virtual  ~LinkerProxyRemote();

   virtual Bool startLinkerProxyRemote();
   virtual Void stopLinkerProxyRemote();
};

}}}

#endif // LINKERPROXYREMOTE_H
